first take at new missions subsystem
fixes to missions module, start adding tests