need to do: oop, popup