this is ruby, let's use blocks :D