make them restricted, and fix typescript generation