complete functions
support mobile