Add suppport for tracks, basic design, minor refactor