Added support for delete
Added alternative implementations to focus on different areas.