Added functions swap pushDown and pushUp for future use in ml