license updated
pragmatic style, gone prototypes, now everything is public