add todo's for more edge cases