adding edge case handling