added data method, and the if user block