Abstracted everything for use on webcake