integrated proc into toplevel, there's still much work to do implementing different instructions