Finished simplest implementation, need to boost performance