solution by me