added initial, new re-write version, basic features