wrote provide and type to handle JDK