init Implementation