most code is implemented