Interfaces changed to return IEnumerable, cannon's attack method reworked