head first java code and lighdl modification