my first try with recursiv push