Ok but not the cleanest.