Partial structure for lab4 and some properties refactoring.