initial commit, still needs to be formulated into a proper class