Reorganize and make act method partialable