Feature #1 & #2 implemented.