swift, it was hard :)