Arrowhead/mohammad v1

Several changes in this pull request - please excuse all except the arrowhead refactor.
Trailing whitespace detected.