java sulotion by Aaron Liang