remove unneeded friend decl
cleanup
[WIP] add emitter