move commander to its own file