Added assertion and comments to public methods