Restructured projects along api and internal implementation.