modified init methods