macro ready and working, about to implement all API calls