docs work, code duplication, plugins as array of objs, maker function