Refactored some items to decouple some stuff