veiw layer added and assert tests passing