updates from side project port base