migrating #35, #36, #37 and #34