Initial stuff. Feature requests are welcome