added bunch of stuff plus demo :github: