split solution into separate branch