All problems in computer science can be solved by another level of indirection
dmst.aueb.gr