Updated with some functionality