moved component into lib/ added first set of dependencies and functions