Functional...Still adding some other features