cannon improvement and some fixes