Re-organised code structure Part #1