abstract stuff
0.8.0