TODO: Fix delete()