in accordance with the initialize* pattern