default entry point to immutable