This solution is horrible