added several solutions