Initial commit
Updated and some bug fixes