encapsulate it by a class