Reimplemented entire project in Java.