makes more generic, adds some arm stuff