Add edge cases - not tested