Implementation of multiple init methods