Adding hardware level init control

part of project to enhance modularity of code by separating hardware
specific functions from logic and control