changed way blocks are added and removed