working final, ready for alpha