rewritten models init to events