initial angualr implementation