beter abstractions