Initial commit

Due to be refactored