prepare, feed and cleanup