init requirement