manipulation framework