Updated with more things to implement.