final solutions