requirement 1 init