Bug fixes/add onTake()