major overload revamp delete and modify!