crud methods
easier buffering
respond lifecycle block