a big update, split to java, mac, ant