Done with basic idea, looking for better way to expand templates in methods.h