ready for a gui version