Refactor
Design tweaks