basic taking functionality