add vehicle mount support
minor code cleanup
add traits