some new files and interfaces