updated and working project