refactor and fix #800, implement objects folder