added namespacing and organized the files into bin, lib, and spec directories