Major refactor + removed all assumptions