better encapsilation