No need to have public constructor