add valid_user? and valid_cover? methods