need to implement good remove logic
added remove window logic