final fixes, needs builtin support

Still not close to perfect. Will have to wait for built in support for padding to
make this work.