First version solution