added civilian
refactored for new callbacks