further dev and reverse engineering