updated container and algorithms