added 4 solutions