Made various refactorings

Signed-off-by: unknown <cnwnh1@cnwcb5a.cnw.co.nz>