finish porting Magick funcs

now mostly work