Updated comments
Updated to return callbacks where appropriate