finished pushM function plus minor name changes