added cube
minor refactor