added delegate method for direct manipulation