resolve confusion between marker and interface used, enhance schema cache, added docstrings to make it easier for future developers