User create logic