refactorings and documentation
TStraight.java has a bug