Ready simple, testdriven and expanded version