modified as use eclipse compiler