use constructor methods, lifo remove