add initialization method