Restructured project and added basic reflection API