split into lib,sensor,cannon