The basic functionality is good but error proofing needed