finished implementing major features