First part of implementation done, hopefully