Refactor to sort out declaration order and label it
More restrict coding rules