created Argument class, moved over assembler methods