compact semi-auto