most things implemented