First partially working solution