Implemented more recognizable types and ensured compatibility with Java 1.6