Add decent logging system | Add options | optimize code