most important functions using Q and working now