still need to create clear function