added init delegate