Finished it, just need to bug fix etc