Add reference system. Add docs (#1, #2)