Still need to optimize the code