minimal implementation of serial stuff