almost finished for beta testing