don't need acct
sort interfaces
make chainable, start generalising ams
cleanup