no warnings and added comments