fully working solutions