by casting in serveral steps