adding public functions