re-organized sources and implemented a new REST method