Implemented in Java