beter callback class