added skeleton solution