Java implementation, basic elements