completed func and style