shooter: ION

based off of villec2 ION implementation