consolidate signature and argument types, refactorings