some stuff from saylor's java course