Working, all challenges fulfilled, needs error testing