Minimal interface, separate javascript source file