better buffer manipulation mapping