#5 added an initial weapon implementation