refactored: triangles, container and 'o'