added properties and init method