* Cleaned abstraction a bit