Finished view component, closes #1