moved helper class to shared